System and method for generating intentional interruptions during gatherings

ABSTRACT

Systems and methods for generating interruptions are provided. A method for generating interruptions, comprises generating a message for one or more recipients, detecting that a computing device is being used for a presentation, concluding, using a processor, that the one or more recipients are in an audience for the presentation, and after concluding that the one or more recipients are in the audience, interrupting the presentation with the message.

TECHNICAL FIELD

The field generally relates to systems and methods for generatinginterruptions and, in particular, to systems and methods for generatingintentional interruptions during gatherings.

BACKGROUND

People who use computers or mobile devices to display information whilegiving a presentation can be interrupted by unintended pop-up messages.These unintended messages may interrupt the flow of the presentationand, in some cases, can be quite annoying or even humiliating to theaudience and/or the person presenting. For example, mobile textmessaging frequently interrupts people, and there exists technology tosuppress these messages.

However, in some situations, it may be useful to allow or even generatecertain of these interruptions during presentations. Accordingly, thereis a need for systems and methods for intentional generation of messagesduring a presentation to deliver a message to one or more people in theaudience.

SUMMARY

In general, exemplary embodiments of the invention include systems andmethods for generating interruptions and, in particular, to systems andmethods for generating intentional interruptions during gatherings.

According to an exemplary embodiment of the present invention, a systemfor generating interruptions comprises a messaging module capable ofgenerating a message for one or more recipients, and an interruptionmanagement module capable of detecting that a computing device is beingused for a presentation, concluding that the one or more recipients arein an audience for the presentation, and interrupting the presentationwith the message after concluding that the one or more recipients are inthe audience.

According to an exemplary embodiment of the present invention, anarticle of manufacture comprises a computer readable storage mediumcomprising program code tangibly embodied thereon, which when executedby a computer, performs method steps for generating interruptions, themethod steps comprising generating a message for one or more recipients,detecting that a computing device is being used for a presentation,concluding that the one or more recipients are in an audience for thepresentation, and after concluding that the one or more recipients arein the audience, interrupting the presentation with the message.

According to an exemplary embodiment of the present invention, a methodfor generating interruptions comprises generating a message for one ormore recipients, detecting that a computing device is being used for apresentation, concluding, using a processor, that the one or morerecipients are in an audience for the presentation, and after concludingthat the one or more recipients are in the audience, interrupting thepresentation with the message.

These and other exemplary embodiments of the invention will be describedor become apparent from the following detailed description of exemplaryembodiments, which is to be read in connection with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention will be described belowin more detail, with reference to the accompanying drawings, of which:

FIG. 1 is a high-level diagram of a system for generating interruptionsaccording to an exemplary embodiment of the invention.

FIG. 2 is a high-level diagram of a central processing unit from FIG. 1in a system for generating interruptions according to an exemplaryembodiment of the invention.

FIG. 3 is a high-level diagram of an interruption management module fromFIG. 2 in a system for generating interruptions according to anexemplary embodiment of the present invention.

FIG. 4 is a high-level diagram of a consistency checking module fromFIG. 3 in a system for generating interruptions according to anexemplary embodiment of the present invention.

FIG. 5 is a high-level diagram of an approval control module from FIG. 3in a system for generating interruptions according to an exemplaryembodiment of the present invention.

FIG. 6 is a flow diagram of a method for generating interruptionsaccording to an exemplary embodiment of the present invention.

FIG. 7 is a flow diagram of a method for generating interruptionsaccording to an exemplary embodiment of the present invention.

FIG. 8 illustrates a computer system in accordance with which one ormore components/steps of the techniques of the invention may beimplemented, according to an exemplary embodiment of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Exemplary embodiments of the invention will now be discussed in furtherdetail with regard to systems and methods for generating interruptionsand, in particular, to systems and methods for generating intentionalinterruptions during gatherings. This invention may, however, beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein.

Embodiments of the present invention relate to the use of aninterruption mechanism, such as, for example, a banner, alert, ticker,popup, etc. as a purposeful method of temporarily and intentionallyswitching context during a gathering, such as a conference or talk, todeliver a message to one or more people in the audience or to thepresenter.

According to an embodiment of the present invention, a user can send amessage, such as, for example, a text message or an e-mail, to oneselfwhich can be viewed via the user's computing device (e.g., when the usertakes their laptop with them to project a presentation), wherein viewingof the message is synchronized with the intended recipient or recipientslooking at the computing device's display. According to anotherembodiment, a first user can send a message to a second user which canbe viewed via the second user's computing device, and viewing of themessage is synchronized with the intended recipient or recipientslooking at the computing device's display. According to an embodiment,this scenario can occur when a user is looking at their mobile phone andsomeone else is looking over the user's shoulder and the message for theperson looking over the user's shoulder is delivered on the phone. Forexample, if one comes close to another's mobile device and attends tothe other's mobile phone display to watch a video, it is possible to usethe embodiments of the present invention to interrupt the video todeliver the message to that person. In other words, the embodiments ofthe present invention are not necessarily limited to the situation ofone standing in a front of a room presenting slides. Creation orgeneration of the message can be through a messaging module 104, forexample, an e-mail, text messaging, or instant messaging system.

Referring to FIG. 1, in a system 100 for generating interruptionsaccording to an exemplary embodiment of the present invention, given amessage 106 from a sender 101 intended for one or more recipients 109, acentral processing unit (CPU) 102 of a computing device 103 is able todetect when a display or a display function of the computing device 103is being used for a primary task, such as, for example, a presentation.In accordance with embodiments of the present invention, the sender 101or another party can be using the computing device 103 for the primarytask.

According to an embodiment, the CPU 102 determines that a display ordisplay function of the computing device 103 is being used by the sender101 for a primary task. The CPU 102 detects that a primary task istaking place by determining whether a program is using an entire displayor at least a majority of a display by checking if an application is in,for example, “full screen” mode. Alternatively, the sender mayexplicitly indicate through a preference or setting that they areentering the primary task (e.g., entering a presentation mode). The CPU102 can also determine whether the computing device is coupled with anexternal monitor or projecting device 105 and/or test whether a primarytask program or application is receiving input and/or CPU cycles. Thedisplay 107 can be part of or external to the computing device 103.

The CPU 102 can further determine that it is the sender 101 of themessage 106 who is giving the presentation. The determination can bemade through authentication (e.g., using a log in process).Alternatively, the CPU 102 can detect that the sender and/or thecomputing device 103 is at a time and/or location where the sender 101or other party is scheduled to perform a primary task like presentingusing the computing device 103. The time could be determined using, forexample, a calendar, task list, etc. which includes a scheduledconference or presentation as one of its inputs. For example, if apresent date and time, and location match up with a scheduled event on acalendar, the system can conclude that a presentation is occurring. Thelocation could be determined using, for example, global positioningsystem (GPS) coordinates, Wi-Fi triangulation, or the like. A sensor(e.g., infrared motion sensor) can be placed in the room to detect useof the room, and this can improve the likelihood that the presentationis taking place at the time and/or location. The CPU 102 can also detectwhen a user is using the computing device 103, (e.g., a mobile phone ortablet) by detecting if the display is on and the device is notsleeping. The CPU can also detect usage of the user interface, such astyping on the keyboard or talking into the microphone.

The content of the message 106 can include, for example, text, images,video, animation, or other (at least partially) visual information. Asingle message may contain multiple media. According to embodiments, thecontent could originate from a person, a program, or other source, andmay be reformatted, truncated, or otherwise re-presented within thevisual interruption.

In accordance with an embodiment of the present invention, therecipients can be designated before, during or after the message iscreated, but are designated prior to the display or display function ofthe computing device 103 being used for the primary task.

For example, in accordance with an embodiment of the present invention,a sender 101 can type a message into an instant messaging system thathas been modified to provide the sender with the options of deliveringthe message immediately or with an interruption mechanism. For example,the user interface can include a selection for “delayed delivery” orsome other equivalent verbiage. Further selections may includespecification of a time of the later delivery, and/or targeted times,places, or events for the interruptions. As per the normal operation ofsuch a messaging system, a recipient or recipients can also beidentified. A target presenter and audience member recipient of themessage may be specified. Multiple audience member recipients may bespecified.

According to an embodiment, the messaging system can hold delivery ofthe message 106 to the recipient(s) and queue the message for a futurepresentation. It may ask if the sender 101 wants to queue the messagefor a future presentation, or the next time the recipient is looking atthe display. As noted above, the sender 101 could specify an event(time/place, optionally audience) and a preferred way to deliver thismessage. According to an embodiment, given a limited number of specifiedpreferences by a sender, the CPU 102 may have the capability ofdetermining additional constraints given the provided preferences. Forexample, the sender 101 may state to wish the receiver a happy birthdaywhen she is surrounded by colleagues at work. From this, the systemcould decide an optimum time to deliver the message, such as, forexample, during a group seminar presented by the sender, or anothercolleague. The message could then be displayed during presentation ofthe seminar.

The CPU 102 further has the capability of detecting when a display ofthe computing device 103 is simultaneously being viewed by one or moreof the intended recipients 109 of the message 106 and/or one or more ofthe intended recipients are in the presence of the computing device 103.The CPU 102 is further able to generate a visual interruption on adisplay 107 that includes the message 106 when predetermined conditionshave been met.

According to an embodiment, given access to calendars, task lists, etc.on the computing devices 108 of audience members, the CPU 102 can detectthose audience members who have been scheduled to attend thepresentation (e.g., those audience members who have accepted invitationsfrom the sender to the presentation) and compare them with thedesignated recipients of the message 106 to determine if there is amatch. In other embodiments, audience members' computing devices 108,such as, for example, mobile phones, laptops, tablets or the like, canbe sensed using, for example, BLUETOOTH, GPS, or detecting connection toa local area network. In the absence of audience members' computingdevices 108, the audience members might be identified using badges(swipe/RFID), or through biometrics, direct reported observations, voicedetection/identification, video identification, and/or groupingprobabilities, and cross-referenced with the designated recipients ofthe message 106. In connection with grouping probabilities, the CPU 102may be capable of recognizing that if a first person is attending duringbusiness hours, there is a high probability that a second person, whooften works with the first person, is also attending. Detecting when adisplay is actually being viewed by one or more of the designatedrecipients is also possible using, for example, a camera with facerecognition, and/or with eye tracking, or through other methods. Therecipients may indicate their attendance by signing or selectingthemselves on an electronic roster.

In accordance with embodiments of the present invention, the visualinterruption can be in the form of a pop up window, such as a systemnotification or text message, banner, alert, ticker or any other way ofinterrupting what is happening on the display. A visual interruption canshow reformatted, truncated, or re-presented message content on all or aportion of the screen being used by the primary task. The interruptionmay halt, slow, or otherwise disrupt the primary task through visualdistraction, sudden movement, a sharp sound (“ding”), or other methodsprior to delivering the message. Methods commonly used for humans tointerrupt may be simulated, such as playing a sound clip of “clearingones throat”. The main task may be faded to make way for theinterruption and then faded back in after the interruption.

In accordance with embodiments of the present invention, the visualinterruptions may be of the type that might normally be expected duringnormal computer operation, such as pop-up windows (“pop-ups”), so theyappear to be unintended interruptions, but yet they serve a purpose,such as, for example, conveying information to the audience or to aparticular audience member, such as one's boss or a colleague. Accordingto an embodiment, the message 106 can be an imitation of a message thatwas sent by a third party in order to provide a message to someone whois watching the presentation. For example, a presenter may hesitate toremind his/her manager to approve travel expenses. An imitation chatmessage disguised as being from a colleague of the presenter (but isreally generated by the presenter) that asks the presenter if he got anapproval can be displayed during the presentation as an indirect way toremind the presenter's manager to process travel expenses.

Other examples of the types of messages that can be displayed include,for example, congratulatory messages (e.g., “You won the award”),celebratory messages (e.g., “Happy Birthday!”), announcements for theaudience (e.g., “Cookies will be served following the talk”),information that may be helpful to the audience (e.g., “There is a sodamachine on the 3rd floor”), information related to the talk (e.g.,“Everyone is here”), helpful self-reminders (e.g., “Try to talk loudlyand project”), and education for the audience (e.g., “Talk on 3rd floorat 9:30 on quantum physics”).

In accordance with embodiments of the present invention, triggering ofthe message 106 can be done programmatically. Once the trigger is fired,the application will proceed to display the message in either aspecified way or if not defined, then in what is deemed the mostappropriate format. For example, the message 106 could pop-up as aninstant message, or it can trigger a screen saver to start and displaythe message, etc.

According to an embodiment, prior to the visual interruption, a naturallanguage understanding component evaluates the content of the message(e.g., relative to the presentation), and/or the number orcharacteristics of the people for whom the message 106 would bedisplayed. For example messages such as “my manager is bothering me” maybe deemed inappropriate, flagged and not displayed, whereas “happybirthday” may be deemed appropriate for display. In addition, the systemcan provide controls for presenters to filter some types of messages,and these controls may permit classification and/or prioritization ofmessages. Text analysis may also be used to determine the urgency of themessage.

Referring to FIG. 2, which illustrates an example of a centralprocessing unit 102 in a system for generating interruptions accordingto an exemplary embodiment of the invention, a CPU 102 can include aninterruption management module 200, a user/presenter profile module 201,and interface 202 for a projector (if a projector is used), a sensormodule 203, which receives and processes sensor input 204 from theaudience, and a communication module 205 to receive and process audienceinput 206. The user/presenter profile module 201 includes filters andpreferences of a user, which are used when determining whether to allowa specific interruption. For example, given the system 100 in FIG. 1, auser giving a presentation on his/her computing device 103 may setcertain preferences or filters to avoid display of undesired messagesduring a presentation. For example, for business uses, there could becontrols over the allowable topics of interruption or an automatedfilter. The interruption management module 200 receives input from theuser/presenter profile module 201 which is used in the determination ofwhether a proposed interrupting message should be displayed. Theinterruption management module 200 further determines whether thecomputing device 103 is being used for a primary task, such as apresentation, by, for example determining that a display and/or adisplay function of the computing device are being used for a primarytask, and/or determining that a presenter and/or the computing deviceare present at a scheduled event by using an electronic calendarindicating a time and place of the event and matching the time and theplace on the electronic calendar with a present time and place.

As stated above, the audience members might be identified by the CPU 102using badges (swipe/RFID), or through biometrics, direct reportedobservations, voice detection/identification, video identification,and/or a camera with face recognition and/or with eye tracking. Inconnection with these forms of identification, the computing device 103may include or be coupled to a sensor module 203. The sensor module 203includes receivers and sensors, such as, for example, RFID readers,facial and voice recognition sensors, microphones, cameras, etc. Thesensor module 203 receives and processes the audience sensor input 204,and supplies the data to the interruption management module 200 forfurther processing to determine the identity of the audience members,and whether the audience members match with any of the intendedrecipients of the message 106.

The communication module 205 receives audience input 206, such as,messages from people in the audience, so that these messages can bedisplayed, for example, on display 107, during a presentation. Anexample of audience input may be a message stating “Happy Birthday” toone of the audience members 109, which can be displayed assuming themessage passes through the user/presenter profile module 201. Themessage is displayed as an interruption. In accordance with anembodiment of the present invention, the method of message input via thecommunication module can be the same as with message input for otherembodiments of the present invention, wherein the settings for time andlocation are defaulted to the current time and location and the list ofpotential recipients of the interruption may be listed. In other words,if one is composing an interruption message ahead of a talk to interruptwith, for example, “Happy Birthday” it is essentially the same asinputting this message by an audience member during the talk to send“Happy Birthday” except that the time and place of delivery are the timeand place of the current presentation.

Communication module 205 forwards audience input 206 to the interruptionmanagement module 200 to enable processing of a message for display. Thecommunication module 205 may be part of an application that a presenterhas in his/her computer that is used to present slides or can be adedicated application that is capable of being connected to multiplecommunication devices, such as, for example, cell phones, laptops,tablets, etc.

Referring to FIG. 3, which is an example of an interruption managementmodule 200, according to an exemplary embodiment of the presentinvention, the interruption management module 200 can include aconsistency checking module 303, which receives as input presentationcontent 300, and input from a sensor data processor 301 and aninterruption message processor 302. The consistency checking module 303provides output to an approval control module 304, which also receivesinput 305 from the user/presenter profile module 201 including filtersand preferences of a user corresponding to whether to allow certaininterrupting messages.

The sensor data processor 301 receives processed audience sensor inputfrom the sensor module 203, and further processes the sensor data todetermine the identity of the audience members. For example, the sensordata processor 301 may compare voice, eye or facial features to adatabase (e.g., employee database) to determine the identity of theaudience members. The sensor data processor 301 then provides theresulting data to the consistency checking module 303, which then goeson to compare whether the identified audience members match with any ofthe intended recipients of the message 106. The consistency checkingmodule 303 also compares the presentation content 300 with a proposedmessage to determine whether the message is appropriate for thepresentation.

The interruption management module 200 addresses approval and timing ofa message before it is included as an interruption. For example,consistency checking module 303, using data from the sensor dataprocessor 301 and the interruption message processor 302, defines a timewhen to make an interruption. According to an embodiment, theconsistency checking module 303 defines from sensor data from the sensordata processor 301 that people in audience are not attentive and/orbored, and it is a good time to make a break in a presentation with someunexpected interruption. Interruption message processor 302 determinesif there is some funny content in messages that were received from theaudience, and provides this determination to the consistency checkingmodule 303, which, in turn, decides to provide the message for displayduring the presentation. According to an embodiment, in 206 (audienceinput) it is possible for anyone inputting a message to indicate thepurpose, such as humor. The ultimate determination of whether a messageis displayed is subject to approval by the approval control module 304,which determines whether a message agrees with the data from theuser/presenter profile module 305.

In general, the role of the sensor data processor is to provide datafrom sensors in order that context that is defined from sensor data(tired, bored, no attention, excited, upset, relaxed etc.) is consistentwith choice of messages to be displayed for interruption. This is doneby consistency checker 303.

Referring to FIG. 4, which is an example of a consistency checkingmodule 303, according to an exemplary embodiment of the presentinvention, the consistency checking module 303 can include apresentation content categorization module 400, an event categorizationmodule 401, an interruption message categorization module 402, adatabase of allowable and forbidden co-occurrences 403, a matchingmodule 404, and a final approval module 405.

The presentation content categorization module 400 defines a topic of apresentation according to the sequence of content such as at each slide(e.g., mathematical, introduction, political, funny, sad, etc.), and canbe used to decide if a particular slide is appropriate for interruption.For example, it might not be desirable to interrupt when mathematicalequations are explained (since full or strict audience attention may berequired for understanding of the subject matter), or it might not bedesirable to interrupt with a funny message when a slide refers to a sadevent.

The event categorization module 401 categorizes events from sensor data.For example, the event categorization module 401 defines conditions ofpeople in audience (e.g., tired, bored, relaxed, attentive, upset,etc.), and can also define who is at the presentation (e.g., a managerof a presenter). The interruption message categorization module 402defines situations when an interrupting message could be of interest toone or more audience members (e.g., message that is related to a managernot processing award payments), and, according to an embodiment, scoresmessages of interest based on level of interest, giving a higher scoreto higher interest messages. The interruption message categorizationmodule 402 further determines to what category the message belongs(e.g., comical, political, scientific, informational, emergency,breaking news, etc.).

The database of allowable and forbidden co-occurrences 403 provides someconstraints on what kind of messages are allowed (e.g., adult contentmessages may be forbidden), and, according to an embodiment, can alsoscore some allowable messages (giving a higher score to some classes ofmessages based on past analyses of what was deemed allowable).

In connection with a potential message, the matching module 404 comparesthe data from modules 400, 401, and 402 with constraints from thedatabase 403. If a message is accepted for display at the matchingmodule 404, the message then is processed for final approval at thefinal approval module 405, which takes into account various additionalfactors, e.g., timing. In accordance with an embodiment of the presentinvention, a matching module 404 compares a determined message categoryfrom the message categorization module 402 with the a determinedcondition of the audience from the event categorization module 401 toconclude whether there is a contextual match between the messagecategory and the audience condition. Display on an interrupting messagemay be permitted if there is a contextual match.

Referring to FIG. 5, which is an example of an approval control module304, according to an exemplary embodiment of the present invention, theapproval control module 304 can include a list or database ofuser/presenter constraints 500 from the user/presenter profile module201, a list or database of acceptable actions 501 depending on theconstraints 500, a match module 502, which receives input from the lists500 and 501, and an approval module 503, which determines whether toissue an approval based on an output from the match module 502.

The list of user or presenter constraints includes constraints forallowing or disallowing interrupting messages. These constraints can beproduced in the user/presenter profiles, and may include, for example,timing (e.g., is there enough time for presentation to have additionaldistractions?), and/or may depend on type of presentation (e.g., thepresentation to a CEO should not be interrupted at all, but apresentation to an employee team can be interrupted). The list ofacceptable actions depending on the constraints 501 containsdescriptions of what kinds of interruptions are allowed (depending onthe message content and context), whether messages should be blocked, ordelivered during certain time periods, how long messages can bedisplayed, size of message fonts, etc. Then a match module 502determines whether possible actions from the list 501 are consistentwith constraints from 500, and, if so, the interrupting message isapproved by the approval module 503. If not, the interrupting message isnot approved by the approval module 503.

Referring to FIG. 6, which is a flow diagram of a method for generatinginterruptions, according to an exemplary embodiment of the presentinvention, at step 600, an interrupting message candidate is obtained orreceived, and at step 601, it is determined whether the content isallowed. According to an embodiment, the determination of whether amessage is allowed can be made by referring to the database of allowableand forbidden co-occurrences 403 and/or the user/presenter profilemodule 201 discussed above. If yes at step 601, the process proceeds tostep 602, where it is determined to what category the message belongs(e.g., comical, political, scientific, informational, emergency,breaking news, etc.). If no at step 601, then the process proceeds tostep 605, where the message is blocked.

From step 602, the process proceeds to step 603, where there is a checkfor a contextual match with the audience conditions (e.g., a funnymessage may be a contextual match with a bored audience). Audienceconditions may be detected using biometric sensors, such as, forexample, video and image cameras, microphones, etc. sensing audiencebehavior, such as, for example, frowns, smiles, laughter, rolling eyes,sleeping, furrowed brows, talking, tapping fingers, heads down, etc. Ifthere is a contextual match at step 603, then the process proceeds tostep 606 where it is checked whether the presenter agrees withpermitting the interrupting message. According to an embodiment, it canbe read from a presenter profile provided in advance whether thepresenter allows interruptions, and, if so, what kind and when. If thepresenter agrees with permitting the interrupting message, the processproceeds to step 607, where the interrupting message is displayed. Ifthe presenter does not agree with permitting the interrupting message,the process proceeds to step 605, where the message is blocked.

If there is no contextual match at 603, then the process proceeds tostep 604, where the message is checked for other categories todetermine, for example, if the message fits useful events in some way(e.g., message must be displayed for a manager in the auditorium,informational or emergency message, etc.). If there are no othercritical categories at step 604, the process proceeds to step 605 wherethe message is blocked. However, if there are other critical categories,the process proceeds to step 606. In the case of an emergency, theprocess can skip step 606 and proceed directly to display of theinterrupting message at block 607.

FIG. 7 is a flow diagram of a method for generating interruptionsaccording to an exemplary embodiment of the present invention. Morespecifically, according to an embodiment, a method for generating aninterruption during a presentation to target recipients comprisescomposing an interrupting message at block 701, determining one or morerecipients of the message at block 703, and detecting that a channel(e.g., a visual channel, such as a display on a computing device, or anaudio channel, such as a networked audio conference) is actively beingused for a presentation at block 705. For example, as noted above, a CPUcan detect that a presentation is taking place by determining whether aprogram is using an entire display or at least a majority of a displayby checking if an application is in, for example, “full screen” mode. Inanother alternative, a CPU can detect that a presentation is occurringbased on scheduled or calendared events, and whether the computingdevice is present at the scheduled or calendared event.

At block 707, it is determined whether the intended recipients inattendance at the presentation. As noted above, this determination canbe made or deduced by, for example, detecting those audience members whohave been scheduled to attend the presentation given access tocalendars, task lists, etc. on the computing devices of audiencemembers, sensing audience members' computing devices using, for example,BLUETOOTH, GPS, or network triangulation, using badges (e.g.,swipe/RFID), using biometrics, direct reported observations, voicedetection/identification, video identification, grouping probabilities,face recognition, and/or eye tracking. According to an embodiment, aprobability that the recipient(s) is/are attending the presentation canbe computed, and an interruption can be generated during thepresentation if the probability exceeds a predetermined threshold.

If it is determined at block 707 that the intended recipients are inattendance, the message is delivered during the presentation at block709. If it is determined at block 707 that the intended recipients arenot in attendance, or not enough of the intended recipients are inattendance, the message is not delivered at block 711.

According to embodiments, a format of the interrupting message may be asa peripheral part of the display, such as an unobtrusive temporarybanner or small area of a screen, or a peripheral part of an audiobroadcast. According to an embodiment, the originator of message canreceive a notification that the message was, or was likely delivered tothe intended recipient(s). The originator of the message can be thepresenter, an audience member, a third party that is not the presenteror an audience member, or a computer.

Embodiments of the present invention permit a presenter to interrupthim/herself to enhance presentation style. For example, a presenter maylike to make a brief pause, thereby allowing, at a particular point intime, interruptions to come on his/her display. Reasons for pauses canbe that the presenter needs to recall a speaking point and/or search inhis/her notes, and/or noticing that people in the audience stopped topaying attention to the presentation and anticipating that interruptionsmight bring the audience's attention back.

In accordance with embodiments of the present invention, messages canlook as though they are coming from a source other than the presenter sothat messages could be delivered in situations where the speaker doesnot want to personally deliver the message. Moreover, a targetedaudience member can get the message without admitting to others thatthey were the intended recipient of the message.

Embodiments of the present invention also permit delivery of messagesintended for the entire audience and for particular members of theaudience when it is understood that other people in the audience and thepresenter will see the message. Further, embodiments of the presentinvention provide an alternative medium for the delivery of messages tomembers of the audience that may not have access to their personalelectronic devices.

Embodiments of the present invention may be used for situations, such asemergencies (e.g., there are needed medical personnel in the audience ornotifications of family emergencies), during trade shows, conferences orconventions to notify attendants watching a particular presentation thatanother presentation on their agenda is starting, and/or fornotifications to healthcare personnel of a change in status of theirpatients.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, apparatus, method, or computerprogram product. Accordingly, aspects of the present invention may takethe form of an entirely hardware embodiment, an entirely softwareembodiment (including firmware, resident software, micro-code, etc.) oran embodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIGS. 1-7 illustrate the architecture, functionality, and operation ofpossible implementations of systems, methods, and computer programproducts according to various embodiments of the present invention. Inthis regard, each block in a flowchart or a block diagram may representa module, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagram and/or flowchart illustration, and combinations of blocksin the block diagram and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

One or more embodiments can make use of software running on ageneral-purpose computer or workstation. With reference to FIG. 8, in acomputing node 810 there is a computer system/server 812, which isoperational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 812 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 812 may be described in the general context ofcomputer system executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 812 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 8, computer system/server 812 in computing node 810 isshown in the form of a general-purpose computing device. The componentsof computer system/server 812 may include, but are not limited to, oneor more processors or processing units 816, a system memory 828, and abus 818 that couples various system components including system memory828 to processor 816.

The bus 818 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

The computer system/server 812 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 812, and it includes both volatileand non-volatile media, removable and non-removable media.

The system memory 828 can include computer system readable media in theform of volatile memory, such as random access memory (RAM) 830 and/orcache memory 832. The computer system/server 812 may further includeother removable/non-removable, volatile/nonvolatile computer systemstorage media. By way of example only, storage system 834 can beprovided for reading from and writing to a non-removable, non-volatilemagnetic media (not shown and typically called a “hard drive”). Althoughnot shown, a magnetic disk drive for reading from and writing to aremovable, non-volatile magnetic disk (e.g., a “floppy disk”), and anoptical disk drive for reading from or writing to a removable,non-volatile optical disk such as a CD-ROM, DVD-ROM or other opticalmedia can be provided. In such instances, each can be connected to thebus 818 by one or more data media interfaces. As depicted and describedherein, the memory 828 may include at least one program product having aset (e.g., at least one) of program modules that are configured to carryout the functions of embodiments of the invention. A program/utility840, having a set (at least one) of program modules 842, may be storedin memory 828 by way of example, and not limitation, as well as anoperating system, one or more application programs, other programmodules, and program data. Each of the operating system, one or moreapplication programs, other program modules, and program data or somecombination thereof, may include an implementation of a networkingenvironment. Program modules 842 generally carry out the functionsand/or methodologies of embodiments of the invention as describedherein.

Computer system/server 812 may also communicate with one or moreexternal devices 814 such as a keyboard, a pointing device, a display824, etc., one or more devices that enable a user to interact withcomputer system/server 812, and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 812 to communicate withone or more other computing devices. Such communication can occur viaInput/Output (I/O) interfaces 822. Still yet, computer system/server 812can communicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 820. As depicted, network adapter 820communicates with the other components of computer system/server 812 viabus 818. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 812. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Although illustrative embodiments of the present invention have beendescribed herein with reference to the accompanying drawings, it is tobe understood that the invention is not limited to those preciseembodiments, and that various other changes and modifications may bemade by one skilled in the art without departing from the scope orspirit of the invention.

We claim:
 1. A method for generating interruptions, the methodcomprising: generating a message for one or more recipients; detectingthat a computing device is being used for a presentation; concluding,using a processor, that the one or more recipients are in an audiencefor the presentation; and after concluding that the one or morerecipients are in the audience, interrupting the presentation with themessage.
 2. The method according to claim 1, wherein said detectingcomprises determining that at least one of a display and a displayfunction of the computing device are being used for a primary task. 3.The method according to claim 1, wherein said detecting comprisesdetermining that at least one of a presenter and the computing deviceare present at a scheduled event.
 4. The method according to claim 3,wherein the determination is made using an electronic calendarindicating a time and place of the event and matching the time and theplace on the electronic calendar with a present time and place.
 5. Themethod according to claim 1, wherein said concluding is performed byretrieving electronic calendars of the one or more recipients, anddetermining that the one or more recipients are scheduled to attend thepresentation.
 6. The method according to claim 1, wherein saidconcluding is performed by sensing a presence of a computing device ofthe one or more recipients at the presentation.
 7. The method accordingto claim 1, wherein said concluding is performed by identifying the oneor more recipients in the audience using at least one of electronicbadges, biometrics, video identification, and facial recognition.
 8. Themethod according to claim 1, wherein said concluding is performed bycalculating a probability that the one or more recipients are in theaudience based on a presence of another person in the audience.
 9. Themethod according to claim 1, wherein said concluding is performed bycalculating a probability that the one or more recipients are in theaudience and comparing the calculated probability to a thresholdprobability.
 10. The method according to claim 1, further comprising:determining a category of the message; determining a condition of theaudience; and comparing the determined category with the determinedcondition of the audience to conclude whether there is a contextualmatch between the message category and the audience condition.
 11. Themethod of claim 10, further comprising permitting display of the messagebased on a presence of the contextual match.